//
//  YNBroadcastChat.h
//  Messenger
//
//  Created by iOS on 15/6/8.
//  Copyright (c) 2015年 YN-APP-iOS. All rights reserved.
//
//  保存广播的数据库
//

#import <Foundation/Foundation.h>
#import "YNIMFrameworkTypedef.h"

@interface YNBroadcastChat : NSObject

//消息ID(主键)
@property (nonatomic, strong) NSString *packetId;

//主题
@property (nonatomic, strong) NSString *subject;

//发送者
@property (nonatomic, strong) NSString *fromUserNo;

//接收者
@property (nonatomic, strong) NSString *toUserNo;

//消息类型(0:普通消息 1:图片 2：文件  包含关系)
@property (nonatomic) int messageType;

//消息内容
@property (nonatomic, strong) NSString *message;

//接收时间
@property (nonatomic, strong) NSString *mTime;

//发送者的名字(判断当前来的广播有没有名字, 如果没有, 从数据库里面查取名字赋予)
@property (nonatomic, strong) NSString *senderName;

//具体发送给了哪些人的Json字符串(目前先不赋值)
@property (nonatomic, strong) NSString *recipient;

//头像Url
@property (nonatomic, strong) NSString *headerUrl;

/**HX** 是否已读 **/
@property(nonatomic,assign)BOOL isRead;


/**
 *  jc添加-用于消息漫游判断
 *  判断最近20条信息的key值是否相同
 *  相同：表示最近20条信息是连续的，不需要拉取消息漫游信息
 *  不同：表示最近20条信息是不连续的，需要拉取消息漫游信息
 */
@property(nonatomic,strong)NSString * messageContinuousKey;


/**
 *  jc添加-用于消息漫游判断
 *  YES: 判断最近20条信息是否都是YES
 *  YES：表示最近20条信息已经拉取过消息漫游了，不需要再次拉取消息漫游信息
 *  NO： 表示最近20条信息没有拉取过消息漫游，需要再次拉取消息漫游信息
 */
@property(nonatomic,assign)BOOL isMessageContinuous;


/*
 //广播是否已读
 @property (nonatomic) int isRead;
 
 //完整的消息
 @property (nonatomic, strong) NSString *completMessage;
 */

//创建广播消息表
+ (BOOL)creatBroadcastMesageTableInDatabase:(FMDatabase *)db;

//保存广播消息
- (BOOL)insertBroadcastMessageInDatabase:(FMDatabase *)db;

//将广播消息标记为已读
+ (BOOL)updateIsReadToReadInDatabase:(FMDatabase*)db packetId:(NSString*)Id;

/**
 用于消息漫游判断
 查询最近多少条信息
 
 @param UserNo 聊天对方账号
 @param sendTime 这个时间之前的多少条数据，nil：最近多少条数据
 @param numberCount 查询多少条数据
 @param db db
 @return 返回结果
 */
+(NSArray *)queryBroadcastChatTopInfoWithmTime:(NSString *)mTime numberCount:(NSInteger)numberCount Database:(FMDatabase *)db;


//清空所有的广播消息
+ (BOOL)deleteALLBroadcastInDatabase:(FMDatabase *)db;

//根据消息ID清除某一条广播消息
+ (BOOL)deleteBroadcastWithPacketId:(NSString *)packetId inDatabase:(FMDatabase *)db;

//加载20条广播消息
+ (NSArray *)queryBroadcastWithStartIndex:(NSInteger)start
                                 endIndex:(NSInteger)end
                               inDatabase:(FMDatabase *)db;

@end
